bluetooth: Add support for Channel Classification - #30825
Conversation
8c1e51a to
b15b097
Compare
CI InformationTo view the history of this post, click the 'edited' button above Inputs:Sources:more detailsGithub labels
List of changed files detected by CI (0)Outputs:ToolchainVersion: Test Spec & Results: ✅ Success; ❌ Failure; 🟠 Queued; 🟡 Progress; ◻️ Skipped;
|
9429fd6 to
b7306ad
Compare
This adds the Channel Classification feature which the central can use to receive channel classification reports from the peripheral. Signed-off-by: Timothy Keys <timothy.keys@nordicsemi.no>
This sample demonstrates a usecase for channel classification. The sample shows the central receiving channel classification reports from the peripheral and applying them in a channel map update. Signed-off-by: Timothy Keys <timothy.keys@nordicsemi.no>
b7306ad to
cc509a1
Compare
|
You can find the documentation preview for this PR here. Preview links for modified nRF Connect SDK documents: https://ncsbmdoc.z6.web.core.windows.net/ncs/PR-30825/nrf/releases_and_maturity/releases/release-notes-changelog.html |
| * Added the :kconfig:option:`CONFIG_BT_HCI_SUPPORT_DEPRECATED_COMMANDS` Kconfig option to support deprecated HCI commands. | ||
| The option is disabled by default, and enabling it may cause deprecation warnings or errors during compilation. | ||
| * Added support for LE Channel Classification in the SoftDevice Controller through the :kconfig:option:`CONFIG_BT_CTLR_CHANNEL_CLASSIFICATION` Kconfig option. |
There was a problem hiding this comment.
| * Added the :kconfig:option:`CONFIG_BT_HCI_SUPPORT_DEPRECATED_COMMANDS` Kconfig option to support deprecated HCI commands. | |
| The option is disabled by default, and enabling it may cause deprecation warnings or errors during compilation. | |
| * Added support for LE Channel Classification in the SoftDevice Controller through the :kconfig:option:`CONFIG_BT_CTLR_CHANNEL_CLASSIFICATION` Kconfig option. | |
| * Added: | |
| * The :kconfig:option:`CONFIG_BT_HCI_SUPPORT_DEPRECATED_COMMANDS` Kconfig option to support deprecated HCI commands. | |
| The option is disabled by default, and enabling it may cause deprecation warnings or errors during compilation. | |
| * Experimental support for the LE Channel Classification feature in the SoftDevice Controller using the :kconfig:option:`CONFIG_BT_CTLR_CHANNEL_CLASSIFICATION` Kconfig option. |
| * Updated the minimum supported connection interval from 875 µs to 750 µs in the HID SCI configuration. | ||
| * Enabled the Frame Space Update feature in the single peripheral HID SCI configuration. | ||
|
|
||
| * Added the :ref:`ble_channel_classification` sample that demonstrates peripheral-initiated channel map updates and central reception of channel classification reports. |
There was a problem hiding this comment.
Please move this entry to line 319 as the first entry under Bluetooth samples.
| .. ncs-sample:: | ||
| :title: Bluetooth: Channel Classification | ||
|
|
||
| This sample demonstrates LE Channel Classification reporting between a central and a peripheral. |
There was a problem hiding this comment.
| This sample demonstrates LE Channel Classification reporting between a central and a peripheral. | |
| The Channel Classification sample demonstrates LE Channel Classification reporting between a central and a peripheral. |
|
|
||
| When connected, the peripheral cycles through predefined host channel maps, changing every five seconds. | ||
|
|
||
| The central enables channel classification reporting using :c:func:`hci_vs_sdc_channel_reporting_enable` and handles the received reports in a local HCI VS event callback. |
There was a problem hiding this comment.
| The central enables channel classification reporting using :c:func:`hci_vs_sdc_channel_reporting_enable` and handles the received reports in a local HCI VS event callback. | |
| The central enables channel classification reporting using the :c:func:`hci_vs_sdc_channel_reporting_enable` function and handles the received reports in a local HCI VS event callback. |
| Overview | ||
| ******** | ||
|
|
||
| When connected, the peripheral cycles through predefined host channel maps, changing every five seconds. |
There was a problem hiding this comment.
| When connected, the peripheral cycles through predefined host channel maps, changing every five seconds. | |
| When connected, the peripheral cycles through predefined host channel maps, changing the active channel map every five seconds. |
| #. In the other terminal emulator, type ``p`` to start the application in the peripheral role. | ||
| #. Observe that the kits establish a connection. | ||
| #. On the peripheral, observe a new channel map printed every five seconds. | ||
| #. On the central, observe matching channel maps applied from the received classification reports. |
There was a problem hiding this comment.
| #. On the central, observe matching channel maps applied from the received classification reports. | |
| #. Observe matching channel maps applied on the central from the received classification reports. |
| Sample output | ||
| ============= | ||
|
|
||
| * Example peripheral output:: |
There was a problem hiding this comment.
| * Example peripheral output:: | |
| * The following is an example of the peripheral output: |
| ============= | ||
|
|
||
| * Example peripheral output:: | ||
|
|
There was a problem hiding this comment.
Please use .. code-block:: c directive.
| I: Using channel map 2 | ||
| I: Peripheral channel map df 7f ff fd 1f | ||
|
|
||
| * Example central output:: |
There was a problem hiding this comment.
| * Example central output:: | |
| * The following is an example of the central output: |
| I: Peripheral channel map df 7f ff fd 1f | ||
|
|
||
| * Example central output:: | ||
|
|
There was a problem hiding this comment.
| Please use .. code-block:: c directive. |
bluetooth: Add support for Channel Classification
This adds the Channel Classification feature which the central can use
to receive channel classification reports from the peripheral.
samples: bluetooth: Add Channel Classification sample
This sample demonstrates a usecase for channel classification.
The sample shows the central receiving channel classification reports
from the peripheral and applying them in a channel map update.